/* Mixins =================================================== */

@mixin ellipsis {
	display: block;
	overflow: hidden;
	white-space: nowrap;
	-o-text-overflow: ellipsis;
	-ms-text-overflow: ellipsis;
	text-overflow: ellipsis;
}

@mixin drop-shadow($x-axis: 0, $y-axis: 2px, $blur: 3px, $alpha: 0.4) {
	@include box-shadow($x-axis $y-axis $blur rgba(0, 0, 0, $alpha));
}

//mediaqueries
@mixin respond-min($width) {
	@media screen and (min-width: $width) {
		@content;
	}
}
@mixin respond-max($width) {
	@media screen and (max-width: $width) {
		@content;
	}
}

@mixin clearfix {
	*zoom : 1;
	&:before,
	&:after {
	display: table;
	content : ""; }
	&:after {
	clear : both; } }

.clearfix {
	@include clearfix;
}

// Hide from visual and speaking browsers
@mixin hidden() {
	display : none !important;
	visibility : hidden;
}

// Hide but maintain layout
@mixin invisible() {
	visibility : hidden;
}

// Hidden but available to speaking browsers
@mixin visuallyhidden() {
	overflow : hidden;
	position : absolute;
	clip : rect(0 0 0 0);
	height : 1px;
	width : 1px;
	margin : -1px;
	padding : 0;
	border : 0;
	// Make visuallyhidden focusable with a keyboard

	&.focusable {
		&:active,
		&:focus {
			position : static;
			clip : auto;
			height : auto;
			width : auto;
			margin : 0;
			overflow: visible;
		}
	}
}

// remove visuallyhidden styles
@mixin visible() {
	overflow : visible;
	position : static;
	clip : auto;
	height : auto;
	width : auto;
	margin : 0;
}